package cn.iocoder.yudao.module.eval.controller.admin.candidate.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 参评人员信息 Response VO")
@Data
public class EvalCandidateInfoRespVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")
    private Long id;

    @Schema(description = "计划ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long planId;

    @Schema(description = "参评人员ID", example = "100")
    private Long candidateId;

    @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    private String name;

    @Schema(description = "身份证号", requiredMode = Schema.RequiredMode.REQUIRED, example = "440123199001011234")
    private String idNumber;

    @Schema(description = "手机号", example = "13800138001")
    private String mobile;

    @Schema(description = "邮箱", example = "test@example.com")
    private String email;

    @Schema(description = "性别", example = "1")
    private Integer gender;

    @Schema(description = "出生日期", example = "1990-01-01")
    private LocalDate birthDate;

    @Schema(description = "工作单位", example = "某某公司")
    private String workUnit;

    @Schema(description = "部门", example = "技术部")
    private String department;

    @Schema(description = "职位", example = "工程师")
    private String position;

    @Schema(description = "工作年限", example = "5.5")
    private BigDecimal workYears;

    @Schema(description = "申请等级", example = "三级")
    private String appliedLevel;

    @Schema(description = "申请职业", example = "电工")
    private String appliedProfession;

    @Schema(description = "数据来源：1-手动录入，2-批量导入，3-系统同步", example = "1")
    private Integer dataSource;

    @Schema(description = "导入批次ID", example = "BATCH001")
    private String importBatchId;

    @Schema(description = "报名状态：1-已报名，2-已确认，3-已取消", example = "1")
    private Integer registrationStatus;

    @Schema(description = "报名时间", example = "2024-01-01 10:00:00")
    private LocalDateTime registrationTime;

    @Schema(description = "确认时间", example = "2024-01-01 10:00:00")
    private LocalDateTime confirmationTime;

    @Schema(description = "备注信息", example = "备注")
    private String remarks;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

}
